home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
ifp1s155.zip
/
PAGE_19.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-04-21
|
2KB
|
72 lines
unit page_19;
interface
uses Crt, Dos, IFPGlobl, IFPComon;
procedure page19;
implementation
procedure page19;
var
Regs: Registers;
MultiNumber: byte;
FoundOne: boolean;
Address, LastAddress: word;
begin
FoundOne:=false;
for MultiNumber:=0 to $FF do
with regs do
begin
AH:=MultiNumber;
AL:=0;
Intr($2D, regs);
if AL = $FF then
begin
FoundOne:=true;
Pause3(-3);
Caption2('Function');
Write(Hex(MultiNumber, 2), 'h');
Caption3('Product');
for Address:=DI + 8 to DI + $0F do
Write(Chr(Mem[DX:Address]));
Caption3('Manufacturer');
for Address:=DI to DI + 7 do
Write(Chr(Mem[DX:Address]));
Caption3('Version');
Writeln(Hi(CX), decimal, addzero(Lo(CX)));
Caption3('Entry point');
AH:=MultiNumber;
AL:=1;
Intr($2D, regs);
if AL = 0 then
Write('Use INT 2Dh')
else
SegOfs(DX, BX);
Writeln;
Caption3('Description');
AH:=MultiNumber;
AL:=0;
Intr($2D, regs);
if Mem[DX:DI + $10] = 0 then
Writeln('(none)')
else
begin
Address:=DI + $10;
LastAddress:=Address + 64;
While (Mem[DX:Address] <> 0) and (Address <= LastAddress) do
begin
Write(Chr(Mem[DX:Address]));
Inc(Address);
end;
Writeln;
end;
end
end;
if not FoundOne then
Caption1('No Alternate Multiplex Programs found!');
end;
end.